shell 编程三剑客之二:sed 详解 |
您所在的位置:网站首页 › shell send命令详解 › shell 编程三剑客之二:sed 详解 |
选项:
-n, --quiet, --silent 屏蔽默认输出 -e script, --expression=script 指定需要执行的 sed 指令 -f script-file, --file=script-file 指定需要执行的 sed 脚本文件 --follow-symlinks 跟随软链接 -i[SUFFIX], --in-place[=SUFFIX] 直接修改原文件,如果提供了SUFFIX,备份数据 -l N, --line-length=N 指定每行的长度 --posix 使 GNU 扩展不生效 -E, -r, --regexp-extended 支持扩展正则 -s, --separate 将多个文件视为各自独立的 --sandbox 在沙盒模式执行(e/r/w 不生效) -u, --unbuffered 从输入文件加载最少的数据,更频繁地刷新输出缓冲区 -z, --null-data 行分隔符配置为空 --help 帮助文档 --version 版本信息 如果没有给定 -e 或 -f,则第一个非选项参数被视为脚本,后边的所有参数被视为输入文件。如果没有输入文件,将会操作标准输入的数据。 操作指令: 1. 不和行定位一起使用的指令:: label 定义在 b 或 t 指令中使用的 label # comment 注释 2. 和 0 或 1 个行定位一起使用的指令:= 打印当前行号 a \ text 在匹配行后一行追加 text i \ text 在匹配行前一行插入 text q [exit code] 立刻退出 sed 脚本,如果自动打印没有失效,打印当前模式空间内容 Q [exit code] 立刻退出 sed 脚本 r filename 追加 filename 中读取的内容 R filename 追加 filename 中一行内容,每次发出指令,读取一行 3. 和范围行定位一起使用的指令:b label 跳转至 label 所在位置,如果没有提供 label,则跳转到指令的结尾 c \ text 指定行的内容替换成 text d 删除指定行整行内容 D 删除模式空间中的第一行 g G 复制/追加保持空间内容到模式空间 h H 复制/追加模式空间内容到保持空间 l 把模式空间中的内容打印出来,非打印字符用两位ASCII码表示 l width n N 读取/追加下一行到模式空间 p 打印当前模式空间的内容 P 打印模式空间的第一行 s/pattern/replacement/flags flags:n(1-512)表示需要替换的第n个pattern匹配的内容,g表示所有pattern都被替换,p表示把模式空间的内容打印, w后边接文件名表示把模式空间的内容输出到该文件 replacement的特殊符号:&表示pattern,\n表示在pattern里第n个用\(\)框起来的结构,\表示转义或换行。\L后边的字符都转成小写字母,\l后边的一个字符转成小写字母,\U后边的字符都转成大写字母,\u后边的一个字符转成大写字母,\E使因\U或\L发生的字母转换结束。 s///:表示将字符替换为空 t label 有条件跳转至 label 所在位置,如果没有提供 label,则跳转到指令的结尾 T label 条件不满足时跳转至 label 所在位置,如果没有提供 label,则跳转到指令的结尾 w filename 当前模式空间内容写入 filename x 交换模式空间与保持空间的内容 y/source/dest/ source 中的每个字母替换成 dest 中对应位置的字母 定位方式:number 行号 first~step 行号为 first 开始,步进 step $ 最后一行 /regexp/ 正则表达式 \cregexpc 正则表达式,c 是任意字符 0, addr2 以“匹配的第一个地址”状态开始,直到找到addr2,addr2 是正则表达式 addr1, +N addr1 开始及后面的 N 行 addr1, ~N add1 开始,到下一个 N 的倍数的行 addr1, addr2 addr1 开始,addr2 结束 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |